10.0 Массивы
В JavaScript массивы — это специальные объекты, которые позволяют хранить несколько значений в одной переменной. Это удобный способ работы с наборами данных, поскольку элементы массива могут быть любого типа (числа, строки, объекты, другие массивы и т.д.). Рассмотрим основные аспекты работы с массивами в JavaScript.
1. Создание массива
Для создания массива можно использовать квадратные скобки []
или конструктор Array
.
// Способы создания массива
let arr1 = []; // Пустой массив
let arr2 = [1, 2, 3, 4, 5]; // Массив с числами
let arr3 = new Array(5); // Массив с 5 пустыми ячейками
let arr4 = new Array('a', 'b'); // Массив с элементами 'a' и 'b'
2. Доступ к элементам массива
Каждый элемент массива имеет индекс (начинается с 0). Для доступа к элементу указывают имя массива и индекс в квадратных скобках.
let fruits = ["apple", "banana", "cherry"];
console.log(fruits[0]); // "apple"
console.log(fruits[1]); // "banana"
console.log(fruits[2]); // "cherry"
3. Добавление и удаление элементов
Для добавления и удаления элементов существуют методы:
push()
— добавляет элемент в конец массива.pop()
— удаляет последний элемент из массива.unshift()
— добавляет элемент в начало массива.shift()
— удаляет первый элемент массива.
let fruits = ["apple", "banana"];
fruits.push("cherry"); // ["apple", "banana", "cherry"]
fruits.pop(); // ["apple", "banana"]
fruits.unshift("mango"); // ["mango", "apple", "banana"]
fruits.shift(); // ["apple", "banana"]
4. Перебор элементов массива
Для перебора элементов массива можно использовать циклы, такие как for
, for...of
, или методы массива, такие как forEach()
.
let fruits = ["apple", "banana", "cherry"];
// Цикл for
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
// Цикл for...of
for (let fruit of fruits) {
console.log(fruit);
}
// Метод forEach
fruits.forEach(fruit => console.log(fruit));
5. Другие полезные методы
JavaScript предоставляет много встроенных методов для работы с массивами:
map()
— создает новый массив с результатами вызова функции для каждого элемента.filter()
— создает новый массив только с элементами, которые соответствуют условию.find()
— находит первый элемент, удовлетворяющий условию.reduce()
— использует аккумулятор для свертки массива в одно значение.
Пример:
let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(num => num * 2); // [2, 4, 6, 8, 10]
let evenNumbers = numbers.filter(num => num % 2 === 0); // [2, 4]
let firstEven = numbers.find(num => num % 2 === 0); // 2
let sum = numbers.reduce((acc, num) => acc + num, 0); // 15
6. Длина массива
Свойство length
возвращает количество элементов в массиве.
let fruits = ["apple", "banana", "cherry"];
console.log(fruits.length); // 3
7. Особенности массивов
- Массивы в JavaScript динамически изменяют размер: можно добавлять и удалять элементы.
- Они могут содержать элементы разных типов.
- Хотя массивы являются объектами, JavaScript оптимизирует их для индексации по числам, что делает их похожими на списки.
Массивы — это мощный инструмент для работы с данными в JavaScript, позволяющий хранить и манипулировать коллекциями значений удобно и эффективно.